<template>
	<div class="order_list">
		<div class="common_form_search">
			<el-form ref="searchForm" :inline="true" :model="searchForm">
				<el-form-item label="订单号">
					<el-input style="width: 220px" v-model="searchForm.orderNo" placeholder="请输入订单号" clearable>
					</el-input>
				</el-form-item>
				<el-form-item label="商品名称">
					<el-input v-model="searchForm.goodsName" placeholder="请输入商品名称" clearable></el-input>
				</el-form-item>
				<el-form-item label="用户名"> 
					<el-input v-model="searchForm.receivingName" placeholder="请输入用户名" clearable></el-input>
				</el-form-item>
				<el-form-item label="手机号">
					<el-input v-model="searchForm.receivingMobile" placeholder="请输入手机号" clearable></el-input>
				</el-form-item>
				<el-form-item label="风控姓名">
					<el-input v-model="searchForm.riskName" placeholder="请输入风控姓名" clearable></el-input>
				</el-form-item>
				<el-form-item label="风控手机号">
					<el-input v-model="searchForm.riskMobile" placeholder="请输入风控手机号" clearable></el-input>
				</el-form-item>
				<el-form-item label="状态">
					<el-select v-model="searchForm.orderStatus" placeholder="全部" clearable>
						<el-option v-for="item in selectList" :key="item.id" :label="item.name" :value="item.id">
						</el-option>
					</el-select>
				</el-form-item>
				<el-form-item label="创建时间">
					<my-date-picker ref="myDatePicker"></my-date-picker>
				</el-form-item>
				<el-form-item label="供应商">
					<el-input v-model="searchForm.shopName" placeholder="请输入供应商" clearable></el-input>
				</el-form-item>
				<el-form-item>
					<el-button size="small" type="primary" @click="search()">查询</el-button>
					<el-button size="small" @click="reset()">重置</el-button>
					<el-button v-if="$hasMethod('#export')" size="small" type="warning" @click="exportFile()">导出
					</el-button>
				</el-form-item>
			</el-form>
		</div>
		<el-divider></el-divider>
		<div class="child_page">
			<el-tabs class="flex-1 nav_tabs" v-model="activeName" @tab-click="handleClick">
				<el-tab-pane v-for="item in tabList" :key="item.id" :label="`${item.name}(${item.count})`"
					:name="item.id"></el-tab-pane>
			</el-tabs>
			<div class="list_wrap">
				<div class="flex list_header">
					<p style="width: 27%; padding-left: 20px">商品信息</p>
					<p class="text-center" style="width: 3%">数量</p>
					<p class="text-center" style="width: 10%">租金</p>
					<p class="text-center" style="width: 9%">租期</p>
					<p class="text-center" style="width: 8%">押金</p>
					<p class="text-center" style="width: 15%">实付金额</p>
					<p class="text-center" style="width: 5%">是否买断</p>
					<p class="text-center" style="width: 7%">下期付款金额</p>
					<p style="width: 16%; padding-left: 20px">收货人信息</p>
				</div>
				<div v-for="item in tableData" :key="item.id" class="list_item">
					<div class="flex justify-between align-center item_header">
						<el-tag :type="getOrderStatusType(item.status)">{{
              item.statusName
            }}</el-tag>
						<div class="flex-1 flex align-center">
							<p>ID：{{ item.id }}</p>
							<p>创建时间：{{ item.create_time }}</p>
							<p>订单号：{{ item.trade_no }}</p>
							<p>
								供应商：{{ item.shopname }}
								<el-button size="mini" class="border-btn" style="padding: 0 5px;"
									@click="editorder(item, 4)">更改</el-button>
							</p>
							<p>订单来源：{{ item.source }}<span v-if="item.sale_user_id">-{{ item.sale_user_id }}</span></p>
							<p>
								快递信息：
								<span class="blue-font pointer" @click="checkLogistics(item.id)">
									{{
                    item.logistic.delivery_type == 2
                      ? "上门自取"
                      : item.logistic.delivery_type == 3
                      ? "上门安装"
                      : item.logistic.logistics_no
                      ? `${item.logistic.logistics_no}(${item.logistic.logistics_name})`
                      : "无"
                  }}
								</span>
							</p>
						</div>
						<p>
						</p>
					</div>
					<div class="flex item_row">
						<div class="flex" style="width: 27%">
							<div>
								<el-image style="width: 100px; height: 100px"
									:src="item.imgurl ? $globalObj.imgBaseUrl + item.imgurl : ''">
									<div slot="error" class="image-slot">
										<i class="el-icon-picture-outline"></i>
									</div>
								</el-image>
								<div v-show="item.is_unicom_choose==1">
									<el-tooltip class="item" effect="dark" placement="top-start" content="已参与联通服务">
										<img src="../../assets/images/unicom.png" style="width: 20px;" alt="">
									</el-tooltip>
								</div>
							</div>
							<div class="flex-1" style="padding-left: 10px; overflow: hidden">
								<el-tooltip class="item" effect="dark" placement="top-start" :content="item.goods_title">
									<p class="text-ellipsis title blue-font">
										<span style="color: purple;">({{item.new_grade_title}})</span>{{ item.goods_title }}
									</p>
								</el-tooltip>
								<p class="meal">套餐信息：{{ item.setmeal_title }}</p>
								<p class="meal">租赁方式：{{ item.pact_type_name }}</p>
								<p class="device">
									设备编号：{{ item.device_number }}
									<el-button v-if="$hasMethod('#editDevice')" size="mini" class="border-btn" style="margin-left: 5px"
										@click="editDevice(item)">更改</el-button>
								</p>
							</div>
						</div>
						<div class="flex flex-center color-666 font-16" style="width: 3%">
							x{{ item.amount }}
						</div>
						<div class="flex flex-column flex-center" style="width: 10%">
							<p class="red-font">
								￥{{ item.rent_total }}(共{{ item.month_total }}期)
							</p>
							<p style="margin-top: 10px">
								<el-button v-if="$hasMethod('#checkLease')" size="mini" class="border-btn"
									@click="viewLease(item.id)">查看租期</el-button>
							</p>
							<p style="margin-top: 10px">
								<el-button v-if="item.status == 4" size="mini" class="border-btn" style="padding: 0 5px;"
									@click="editorder(item, 2)">修改租期租金</el-button>
							</p>
						</div>

						<div style="width: 9%" class="color-666 font-12 flex flex-center">
							{{ item.begin_time }}至{{ item.end_time }}(共{{
                item.month_total
              }}期)
						</div>
						<div style="width: 8%" class="flex flex-column flex-center">
							<p v-if="item.foregift_pay" class="red-font">
								￥{{ item.foregift_pay }}
							</p>
							<p class="color-999 font-12">
								{{ item.foregift_deduct == 0 ? "未授权免押" : item.foregift_pay > 0 ? "部分免押" : "押金全免" }}
							</p>
							<p v-if="item.foregift_deduct > 0" class="color-999 font-12" style="text-decoration: line-through">
								￥{{ item.foregift_deduct ? item.foregift_deduct : item.foregift_deduct }}
							</p>
						</div>
						<div style="width: 15%" class="flex flex-column flex-center">
							<p class="red-font">￥{{ item.lease.paid_rent }}</p>
							<p class="color-999 font-12">
								{{
                  item.pay_type == 1
                    ? "智能合同代扣"
                    : item.pay_type == 2
                    ? "芝麻信用（" +
                      (item.rights_auth_no != 0 ? "已授权代扣" : "未授权代扣") +
                      "）"
                    : "花呗"
                }}
							</p>
							<p style="margin-top: 5px">
								<el-button size="mini" type="success" class="long-text-btn"
									@click="checkPaidBill(item.id, item.lease.paid_rent)">
									已付：￥{{ item.lease.paid_rent }}/￥{{
                    item.rent_total
                  }}</el-button>
							</p>
							<p style="margin-top: 5px">
								<el-button size="mini" type="warning">已结租金￥{{ item.lease.settle_amount }}</el-button>
							</p>
						</div>
						<div style="width: 5%" class="flex flex-center font-12 color-666">
							买断金: ￥{{ item.setmeal_price }}
						</div>
						<div style="width: 7%" class="flex flex-column flex-center">
							<template v-if="JSON.stringify(item.lease.next) !== '[]'">
								<p class="font-12 color-666">￥{{ item.lease.next.amount }}</p>
								<p class="font-12 color-666">{{ item.lease.next.date }}</p>
							</template>
						</div>
						<div style="width: 16%">
							<p class="flex align-center justify-between font-12 color-666">
								<span>{{ item.realname }}</span>
								<span>{{ item.address_mobile }}</span>
							</p>
							<p class="font-12 color-666" style="word-break: break-all">
								{{ item.prov + item.city + item.area + item.address }}
							</p>
							<p style="margin-top: 10px">
								<el-button v-if="$hasMethod('#editAddress')" size="mini" class="border-btn"
									@click="editAddress(item)">修改地址</el-button>
							</p>
						</div>
					</div>
					<div class="flex item_row">
						<div style="width: 57%" class="detail">
							<p class="color-666">
								认证资料：{{ item.cert_name }}（{{ item.cert_no }}）手机号：{{
                  item.mobile
                }}，人脸识别{{
                  item.authentic.status == 1 ? "通过" : "不通过"
                }}
								性别：{{ item.authentic.sex }} 年龄：{{ item.authentic.age }}
								<el-button v-if="
                    item.idcard_back &&
                    item.idcard_front &&
                    $hasMethod('#checkAuthInfo')
                  " size="mini" class="border-btn" @click="checkAuthInfo(item)">认证资料</el-button>
							</p>
							<p class="color-666" :class="{ 'red-font': item.is_skip == 1 }">
								<el-button size="mini" class="border-btn" style="padding: 0 1px;"
									@click="publicDialog(item)">查看雷达风控数据</el-button>
								<el-button size="mini" class="border-btn" style="padding: 0 1px;"
									@click="handleOrderData(item)">查看布尔风控数据</el-button>
								<el-button v-if="item.is_credit_select==1" size="mini" class="border-btn" style="padding: 0 1px;"
									@click="creditDialog(item)">请求查询征信</el-button>
								<el-button v-else size="mini" class="border-btn"
									style="padding: 0 1px;border-color: #ff9f37;color: #ff9f37;"
									@click="creditDialog2(item)">查看征信风控数据</el-button>
							</p>
							<p class="color-666 red-font">
								紧急联系人：{{ item.emergency_contact }}
							</p>
							<p class="color-666 font-12">用户备注：{{ item.remark }}</p>
							<p class="color-666 font-12">
								客服备注：
								<template v-if="JSON.stringify(item.orderRemark) !== '[]'">
									{{ item.orderRemark.create_time }}，{{
                    item.orderRemark.username
                  }}添加备注：{{ item.orderRemark.remark }}
									<span v-if="$hasMethod('#checkRemark')" class="blue-font pointer" style="margin-right: 10px"
										@click="viewRemark(item.id)">查看备注记录</span>
								</template>
								<el-button v-if="$hasMethod('#addRemark')" size="mini" class="border-btn"
									@click="addRemark(item.id)">添加备注</el-button>
							</p>
							<p class="color-666" style="margin-top: 5px">
								<template v-if="JSON.stringify(item.leaseFlow) !== '[]'">
									第{{ item.leaseFlow.which_period }}期通过支付宝{{
                    item.leaseFlow.pay_type == 1
                      ? "智能合同代扣"
                      : item.leaseFlow.pay_type == 2
                      ? "芝麻信用"
                      : item.leaseFlow.pay_type == 3
                      ? "花呗"
                      : "主动支付"
                  }}{{
                    item.leaseFlow.status == 1
                      ? "支付" + item.leaseFlow.rent + "元"
                      : item.leaseFlow.status == 2
                      ? "退款" + item.leaseFlow.rent + "元"
                      : item.leaseFlow.status == 3
                      ? "买断"
                      : "未支付"
                  }}
								</template>
								<el-button v-if="$hasMethod('#checkFlow')" size="mini" class="border-btn"
									@click="viewFlow(item.trade_no)">流水记录</el-button>
							</p>
						</div>
						<div style="width: 43%" class="flex flex-column justify-center">
							<p v-if="item.orderRefundReason" style="padding: 0 10px">
								退款原因：{{ item.orderRefundReason }}
							</p>
							<p v-if="item.is_renewal == 1" style="margin-left: 10px">
								原订单号：<span class="blue-font">{{
                  item.parent_order_no
                }}</span>
							</p>
							<p v-if="
                  item.is_abnormal == 1 &&
                  [41, 42, 43, 44, 45, 49, 60, 65].indexOf(item.status) > -1
                " class="red-font" style="margin-left: 10px">
								该订单提前归还
							</p>
							<p v-if="item.check_refuse_reason && item.status == 43" class="red-font" style="margin-left: 10px">
								审核拒绝原因：{{ item.check_refuse_reason }}
							</p>
							<p class="btns flex align-center">
								<el-button v-if="item.status == 10 && $hasMethod('#delivery')" size="mini" type="warning"
									@click="openDelivery(item.id)">订单发货</el-button>
								<el-button v-if="item.status==10" size="mini" type="danger"
									@click="refuseOrder2(item.id)">关闭订单</el-button>
								<el-button v-if="item.status == 10 && $hasMethod('#refuseorder')" size="mini" type="danger"
									@click="refuseorder(item.id)">拒绝订单</el-button>
								<el-button v-if="item.status == 20 && $hasMethod('#receipt')" size="mini" type="warning"
									@click="confirmReceipt(item.id)">确认收货</el-button>
								<el-button v-if="item.status == 44 && $hasMethod('#confirmR')" size="mini" type="warning"
									@click="confirmReturn(item.id)">确认归还</el-button>
								<el-button v-if="item.status >10 && $hasMethod('#deductD')" size="mini" type="primary"
									@click="deductDeposit(item.id)">扣除押金</el-button>
								<el-button v-if="
                    [
                      20, 30, 31, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 49,
                      50, 51, 52, 56, 57, 58,
                    ].indexOf(item.status) > -1 && $hasMethod('#checkLogistics')
                  " size="mini" type="primary" @click="checkLogistics(item.id)">查看物流</el-button>
								<el-button v-if="
                    [
                      3, 9, 10, 11, 12, 13, 14, 15, 16, 20, 30, 31, 32, 33, 34,
                      39, 40, 41, 42, 43, 44, 45, 49, 50, 51, 52, 56, 57, 58,
                      60, 61, 62, 63, 64, 65,
                    ].indexOf(item.status) > -1 &&
                    item.pact_url != 0 &&
                    item.sign_status == 2
                  " size="mini" type="primary" @click="checkPact($globalObj.imgBaseUrl + item.pact_url)">查看合同
								</el-button>

								<el-button v-if="[11, 12, 13, 14].indexOf(item.status) > -1" size="mini" type="warning"
									@click="handleRefundOrder(item.trade_no)">去处理</el-button>
								<el-button v-if="
                    [
                      9, 10, 11, 12, 13, 14, 20, 30, 31, 32, 33, 34, 39, 40, 41,
                      42, 43, 44, 45, 49, 50, 51, 52, 56, 57, 58,
                    ].indexOf(item.status) > -1 &&
                    $hasMethod('#finish')
                  " size="mini" type="success" @click="finishOrder(item.id)">交易完成</el-button>
								<el-button v-if="item.status == 41" size="mini" type="warning"
									@click="agreeReturn(item.id)">同意归还</el-button>
								<el-button v-if="item.status == 41" size="mini" type="danger"
									@click="refuseReturn(item.id)">拒绝归还</el-button>
								<!-- 20221017 -->
								<el-button v-if="item.status == 4 " size="mini" type="success"
									@click="checkPass(item.id)">审核通过</el-button>
								<el-button v-if="[4].indexOf(item.status) > -1" size="mini" type="danger"
									@click="refuseOrder2(item.id)">审核拒绝</el-button>
								<el-button v-if="item.status == 3 || item.status == 2" size="mini" type="danger"
									@click="closeOrder(item.id)">取消订单</el-button>
								<el-button v-if="[4].indexOf(item.status) > -1" :disabled="item.pact_url_3?false:true" size="mini"
									type="success" @click="setCreditData(item.id)">上征信1</el-button>
								<el-button v-if="[4].indexOf(item.status) > -1" size="mini" :disabled="item.is_credit_up==2?true:false"
									type="primary" @click="createCreditCompany(item.id)">上征信2</el-button>
							</p>
						</div>
					</div>
				</div>
			</div>
			<custom-page ref="customPage" :total="total" @getList="getList"></custom-page>
		</div>
		<check-lease ref="checkLease" :order-id="selectedId"></check-lease>
		<set-address ref="setAddress" :edit-item="editItem" @getList="getList"></set-address>
		<set-device ref="setDevice" :edit-item="editItem" @getList="getList"></set-device>
		<set-remark ref="setRemark" :order-id="selectedId" @getList="getList">
		</set-remark>
		<deduct-dialog ref="deductDialog" :order-id="selectedId"> </deduct-dialog>
		<check-remark ref="checkRemark" :order-id="selectedId"></check-remark>
		<check-flow ref="checkFlow" :order-no="selectedId"></check-flow>
		<delivery ref="delivery" :order-id="selectedId" @getList="getList"></delivery>
		<receipt ref="receipt" :order-id="selectedId" @getList="getList"></receipt>
		<auth-info ref="authInfo" :edit-item="editItem"></auth-info>
		<check-bill ref="checkBill" :order-id="selectedId"></check-bill>
		<check-logistics ref="checkLogistics" :order-id="selectedId"></check-logistics>
		<public-dialog ref="publicDialog" :edit-item="editItem" @getList="getList" @resp-code="respCode" />
		<edit-order ref="editOrder" :edit-item="editItem" @getList="getList" />
		<select-risk ref="selectRisk" :edit-item="editItem" @getList="getList" />
		<credit-dialog ref="creditDialog" :edit-item="editItem" @getList="getList" />
		<el-dialog title="拒绝归还" :visible.sync="returnVisible" width="500px">
			<el-form :model="returnForm">
				<el-form-item label="拒绝原因" label-width="120px">
					<el-input v-model="returnForm.checkRefuseReason" autocomplete="off" placeholder="请输入拒绝原因" type="text"
						maxlength="50" show-word-limit></el-input>
				</el-form-item>
			</el-form>
			<div slot="footer" class="dialog-footer">
				<el-button @click="closeReturn">取 消</el-button>
				<el-button type="primary" @click="confirmReturnVisible">确 定</el-button>
			</div>
		</el-dialog>
		<el-dialog width="500px" title="提示" :visible.sync="orderDialogVisible">
			<el-form ref="ruleFormOrder" :model="form" label-width="100px">
				<el-form-item label="">
				</el-form-item>
				<el-form-item label="请选择分类" prop="goods_type">
					<el-select v-model="form.goodsType" placeholder="全部" clearable @change="handleChange">
						<el-option v-for="item in goodsType" :key="item.value" :label="item.label" :value="item.value" />
					</el-select>
				</el-form-item>
			</el-form>
			<div slot="footer" class="dialog-footer">
				<el-button size="small" @click="orderDialogVisible = false">取 消</el-button>
				<el-button size="small" type="primary" @click="handleSubmit">确 定</el-button>
			</div>
		</el-dialog>
		<handle-credit ref="handleCredit" :order-id="selectedId" @getList="getList"></handle-credit>
	</div>
</template>
<script>
	import globalData from "../../utils/global";
	import customPage from "@/components/customPage";
	import myDatePicker from "@/components/myDatePicker";
	import {
		orderList,
		getOrderStatus,
		orderListExport,
		orderFinish,
		orderReturnAgree,
		orderReturnRefuse,
		orderComfirmReturn,
		orderReturnFinish,
		orderClose,
		getCreditData,
		setCreditData
	} from "@/api/order";
	import {
		rejectRefund,
		orderCheckPass
	} from "../../api/orderRefund"
	import checkLease from "./dialogs/checklease";
	import setAddress from "./dialogs/setAddress";
	import setDevice from "./dialogs/setDevice";
	import setRemark from "./dialogs/setRemark";
	import checkRemark from "./dialogs/checkRemark";
	import checkFlow from "./dialogs/checkFlow";
	import delivery from "./dialogs/delivery";
	import receipt from "./dialogs/receipt";
	import authInfo from "./dialogs/authInfo";
	import checkBill from "./dialogs/checkBill";
	import deductDialog from "./dialogs/deductDialog.vue";
	import checkLogistics from "./dialogs/checkLogistics";
	import publicDialog from './dialogs/publicDialog'
	import selectRisk from './dialogs/selectRisk'
	import editOrder from './dialogs/editOrder'
	import eduDetails from './dialogs/eduDetails'
	import creditDialog from './dialogs/creditData'
	import handleCredit from './dialogs/handleCredit'
	export default {
		components: {
			myDatePicker,
			customPage,
			checkLease,
			setAddress,
			setDevice,
			setRemark,
			checkRemark,
			checkFlow,
			delivery,
			receipt,
			authInfo,
			checkBill,
			checkLogistics,
			deductDialog,
			publicDialog,
			selectRisk,
			editOrder,
			eduDetails,
			creditDialog,
			handleCredit
		},
		data() {
			return {
				searchForm: {
					orderNo: "",
					goodsName: "",
					receivingName: "",
					receivingMobile: "",
					riskName: "",
					riskMobile: "",
					orderStatus: "",
					orderCreateTime: "",
					shopName: "",
					eduId: ''
				},
				creFlag: 1,
				form: {
					goodsType: ''
				},
				goodsType: [{
						label: '其他',
						value: 0
					},
					{
						label: '游戏电玩',
						value: 1
					},
					{
						label: '娱乐影音',
						value: 2
					},
					{
						label: '电脑平板',
						value: 3
					},
					{
						label: '手机优选',
						value: 4
					}
				],
				statusList: globalData.orderStatus,
				total: 0,
				tableData: [],
				activeName: "all",
				tabList: [{
						id: "all",
						name: "全部订单",
						count: 0,
					},
					{
						id: "notCheck",
						name: "待审核",
						count: 0,
					},
					{
						id: "notPay",
						name: "待付款订单",
						count: 0,
					},
					{
						id: "notRisk",
						name: "待风控订单",
						count: 0,
					},
					{
						id: "deliveredNot",
						name: "待发货订单",
						count: 0,
					},
					{
						id: "deliveredIs",
						name: "已发货订单",
						count: 0,
					},
					{
						id: "orderIng",
						name: "租用中订单",
						count: 0,
					},
					{
						id: "orderCompleted",
						name: "交易完成订单",
						count: 0,
					},
					{
						id: "orderCancel",
						name: "取消订单",
						count: 0,
					},
					{
						id: "orderReturn",
						name: "归还订单",
						count: 0,
					},
					{
						id: "orderBuyout",
						name: "买断订单",
						count: 0,
					},
					{
						id: "orderRenewal",
						name: "续租订单",
						count: 0,
					},
					{
						id: "orderRefund",
						name: "退款订单",
						count: 0,
					},
				],
				selectedId: "",
				editItem: {},
				selectList: [],
				returnVisible: false,
				eduDialogVisible: false,
				refuseId: "",
				returnForm: {
					checkRefuseReason: "",
				},
				orderDialogVisible: false,
				typeId: '',
			};
		},
		methods: {
			handleRefundOrder(tradeNo) {
				this.$router.push({
					name: "refundList",
					params: {
						tradeNo
					}
				});
			},
			// 查看合同
			checkPact(url) {
				window.open(url);
			},
			// 订单完结
			finishOrder(id) {
				this.$confirm(
						"交易完成后进行解约现有款项不退款，并解约代扣无法发起未代扣的期数！",
						"请确认是否交易完成？", {
							confirmButtonText: "确定",
							cancelButtonText: "取消",
						}
					)
					.then(() => {
						orderFinish(id).then((res) => {
							this.getList();
						});
					})
					.catch(() => {});
			},
			// 同意归还
			agreeReturn(id) {
				this.$confirm("确定要同意归还吗？", "同意归还", {
						confirmButtonText: "确定",
						cancelButtonText: "取消",
					})
					.then(() => {
						orderReturnAgree(id).then((res) => {
							this.getList();
						});
					})
					.catch(() => {});
			},
			// 拒绝归还
			refuseReturn(id) {
				this.refuseId = id;
				this.returnVisible = true;
			},
			// 订单关闭
			closeOrder(id) {
				this.$confirm("确定要关闭订单吗？", "关闭", {
						confirmButtonText: "确定",
						cancelButtonText: "取消",
					})
					.then(() => {
						orderClose(id).then((res) => {
							this.getList();
						});
					})
					.catch(() => {});
			},
			confirmReturnVisible() {
				if (!this.returnForm.checkRefuseReason) {
					this.$message.warning("拒绝原因不能为空");
					return false;
				}
				orderReturnRefuse({
						orderId: this.refuseId,
						checkRefuseReason: this.returnForm.checkRefuseReason,
					})
					.then((res) => {
						this.getList();
						this.closeReturn();
					})
					.catch(() => {});
			},
			closeReturn() {
				this.returnVisible = false
				this.returnForm.checkRefuseReason = ''
			},
			//扣除押金
			deductDeposit(id) {
				this.selectedId = id;
				this.$refs.deductDialog.dialogVisible = true;
			},
			// 确认归还
			confirmReturn(id) {
				this.$confirm("确定要归还吗？", "确认归还", {
						confirmButtonText: "确定",
						cancelButtonText: "取消",
					})
					.then(() => {
						orderComfirmReturn(id).then((res) => {
							this.getList();
						});
					})
					.catch(() => {});
			},
			// 查看物流
			checkLogistics(id) {
				this.selectedId = id;
				this.$refs.checkLogistics.dialogVisible = true;
			},
			// 查看已付账单详情
			checkPaidBill(id, paid_rent) {
				if (this.$hasMethod("#checkBill") && paid_rent > 0) {
					this.selectedId = id;
					this.$refs.checkBill.dialogVisible = true;
				}
			},
			// 查看认证资料
			checkAuthInfo(item) {
				this.editItem = {
					idcard_back: item.idcard_back,
					idcard_front: item.idcard_front,
				};
				this.$refs.authInfo.dialogVisible = true;
			},
			// 确认收货
			confirmReceipt(id) {
				this.selectedId = id;
				this.$refs.receipt.dialogVisible = true;
			},
			// 订单发货
			openDelivery(id) {
				this.selectedId = id;
				this.$refs.delivery.dialogVisible = true;
			},
			// 查看流水记录
			viewFlow(trade_no) {
				this.selectedId = trade_no;
				this.$refs.checkFlow.dialogVisible = true;
			},
			// 查看客服备注
			viewRemark(id) {
				this.selectedId = id;
				this.$refs.checkRemark.dialogVisible = true;
			},
			// 添加客服备注
			addRemark(id) {
				this.selectedId = id;
				this.$refs.setRemark.dialogVisible = true;
			},
			// 更改设备编号
			editDevice(item) {
				this.editItem = {
					orderId: item.id,
					deviceNumber: item.device_number ? item.device_number.split(",") : [],
					amount: item.amount,
				};
				this.$refs.setDevice.dialogVisible = true;
			},
			// 修改地址
			editAddress(item) {
				this.editItem = {
					orderId: item.id,
					realname: item.realname,
					mobile: item.address_mobile,
					address: item.address,
					prov: item.prov,
					city: item.city,
					area: item.area,
					province: [item.prov, item.city, item.area],
				};
				this.$refs.setAddress.dialogVisible = true;
			},
			// 查看租期
			viewLease(id) {
				this.selectedId = id;
				this.$refs.checkLease.dialogVisible = true;
			},
			getOrderStatusType(status) {
				const obj = this.statusList.find((item) => item.id == status);
				return obj ? obj.type : "warning";
			},
			getOrderStatusName(status) {
				const obj = this.statusList.find((item) => item.id == status);
				return obj ? obj.name : "";
			},
			// 获取数据
			getList(flag) {
				// flag为true, 则不刷新表格
				const {
					page,
					pageSize
				} = this.$refs.customPage;
				if (!flag) {
					this.tableData = [];
				}
				orderList({
					page,
					pageSize,
					...this.searchForm,
					orderStatusGroup: this.activeName,
				}).then((res) => {
					const {
						list,
						count
					} = res;
					this.tableData = list.data || [];
					this.total = list.total || 0;
					for (let item of this.tabList) {
						item.count = count[item.id];
					}
				});
			},
			// 查询
			search() {
				const pickerVal = this.$refs.myDatePicker.getVal();
				if (pickerVal !== "error") {
					this.searchForm.orderCreateTime = pickerVal;
					this.$refs.customPage.page = 1;
					this.getList();
				}
			},
			// 重置
			reset() {
				if (this.$refs.myDatePicker) {
					this.$refs.myDatePicker.reset();
				}
				this.searchForm = {
					orderNo: "",
					goodsName: "",
					receivingName: "",
					receivingMobile: "",
					riskName: "",
					riskMobile: "",
					orderStatus: "",
					orderCreateTime: "",
					shopName: "",
				};
				this.getList();
			},
			// 导出
			exportFile() {
				const pickerVal = this.$refs.myDatePicker.getVal();
				if (pickerVal !== "error") {
					this.searchForm.orderCreateTime = pickerVal;
					orderListExport({
						...this.searchForm,
						orderStatusGroup: this.activeName,
					});
				}
			},
			handleClick(tab) {
				this.activeName = tab.name;
				this.$refs.customPage.page = 1;
				this.getList();
			},
			getSelect() {
				getOrderStatus().then((res) => {
					const list = [];
					for (let key in res) {
						list.push({
							id: key,
							name: res[key],
						});
					}
					this.selectList = list || [];
				});
			},
			// 征信数据
			creditDialog(item) {

				getCreditData(item.id).then(res => {})
				setTimeout(() => {
					getCreditData(item.id).then(res => {})
				}, 1000)
				setTimeout(() => {
					this.getList()
				}, 4000)

			},
			// 征信数据
			creditDialog2(item) {
				this.$confirm('是否确认查看征信风控数据?', '提示', {
						confirmButtonText: '确定',
						cancelButtonText: '取消'
					})
					.then(() => {
						this.editItem = {
							orderId: item.id,
							trade_no: item.trade_no,
							cert_name: item.cert_name,
							cert_no: item.cert_no,
							mobile: item.mobile
						}
						this.$refs.creditDialog.dialogVisible = true
						this.getList()
					})
					.catch(() => {})
			},
			// 签署担保合同
			setCreditData(id) {
				this.$confirm('订单上征信后无法取消，确定要上征信吗？', '确认上征信', {
						confirmButtonText: '确定',
						cancelButtonText: '取消'
					})
					.then(() => {
						setCreditData(id).then((res) => {
							this.getList()
						})
					})
					.catch(() => {})
			},
			createCreditCompany(id) {
				console.log(id);
				this.selectedId = id
				this.$confirm('订单上征信2后无法取消，确定要上征信2吗？', '确认上征信2', {
						confirmButtonText: '确定',
						cancelButtonText: '取消'
					})
					.then(() => {
						this.$refs.handleCredit.dialogVisible = true
					})
					.catch(() => {})
			},
			// 雷达数据
			publicDialog(item) {
				console.log(item, '111');
				this.$confirm('是否确认查看风控数据2?', '提示', {
						confirmButtonText: '确定',
						cancelButtonText: '取消'
					})
					.then(() => {
						this.editItem = {
							orderId: item.id,
							cert_name: item.cert_name,
							cert_no: item.cert_no,
							mobile: item.mobile
						}

						this.$refs.publicDialog.dialogVisible = true
						// this.getList()
						this.respCode()
					})
					.catch(() => {})
			},
			respCode(data) {
				if (data.length === 0) {
					this.$message({
						message: "该用户没有雷达风控数据风险",
						type: "error"
					})
				}
			},
			// 布尔数据
			handleOrderData(item) {
				this.dataItem = item
				this.orderDialogVisible = true
			},
			handleSubmit() {
				this.$refs['ruleFormOrder'].validate((valid) => {
					if (valid) {
						this.editItem = {
							orderId: this.dataItem.id,
							cert_name: this.dataItem.cert_name,
							cert_no: this.dataItem.cert_no,
							mobile: this.dataItem.mobile,
							rent_total: this.dataItem.rent_total,
							month_total: this.dataItem.month_total,
							website_price: this.dataItem.website_price,
							new_grade: this.dataItem.new_grade,
							goods_type: this.typeId
						}
						this.orderDialogVisible = false
						this.$refs.selectRisk.dialogVisible = true

					} else {
						this.$message({
							message: '请选择类型',
							type: 'error'
						})
						return false
					}
				})
			},
			handleChange(value) {
				this.typeId = value
			},
			// 更改供应商
			editorder(item, num) {
				console.log(item);
				this.editItem = {
					orderId: item.id,
					pact_type: item.pact_type,
					setmeal_price: item.rent_total,
					shopname: item.shopname,
					seller_id: item.seller_id,
					member_id: [],
					rent: '',
					num: num,
					setmeal_foregift: item.setmeal_foregift,
					month_total: item.month_total,
					// pay_type:item.pay_type,
					is_insurance_choose: item.is_insurance_choose,
					is_rent_choose: item.is_rent_choose,
					rent_total: item.rent_total
				}
				this.$refs.editOrder.dialogVisible = true
			},
			// 审核拒绝
			refuseOrder2(id) {
				this.$confirm('确定要拒绝订单吗？', '拒绝', {
						confirmButtonText: '确定',
						cancelButtonText: '取消'
					})
					.then(() => {
						orderClose(id).then((res) => {
							this.getList()
						})
					})
					.catch(() => {})
			},
			// 审核通过
			checkPass(id) {
				orderCheckPass({
						orderId: id
					})
					.then((res) => {
						this.getList()
					})
					.catch(() => {})
			},

		},
		mounted() {
			this.form.goodsType = this.goodsType[4].label
			this.typeId = this.goodsType[4].value
			if (this.$route.params.orderId) {
				this.searchForm.orderNo = this.$route.params.orderId;
			}
			this.getSelect();
			this.getList();
		},
	};
</script>
<style lang="scss" scoped>
	.common_form_search {
		padding: 15px 30px 0;
	}

	.child_page {
		padding-bottom: 15px;
		padding-left: 30px;
		padding-right: 30px;

		p,
		div {
			box-sizing: border-box;
		}
	}

	.list_wrap {
		position: relative;
	}

	.list_header {
		position: sticky;
		top: 0;
		left: 0;
		right: 0;
		min-height: 50px;
		z-index: 2;
		background: #f5f5f5;
		border: 1px solid #e6e6e6;

		p {
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 16px;
		}

		p:not(:first-child) {
			border-left: 1px solid #e6e6e6;
		}
	}

	.list_item {
		border: 1px solid #e6e6e6;
		margin-top: 10px;
	}

	.item_row {
		border-top: 1px solid #e6e6e6;

		&>div {
			padding: 10px;
			color: #666666;

			&:not(:first-child) {
				border-left: 1px solid #e6e6e6;
			}
		}
	}

	.detail,
	.btns {
		padding: 10px;
	}

	.btns {

		// border-left: 1px solid #e6e6e6;
		.el-button+.el-button {
			margin-left: 10px;
		}
	}

	.border-btn {
		height: 25px;
		padding-top: 0;
		padding-bottom: 0;
		background: #ffffff;
		border: 1px solid $mainBlue;
		border-radius: 3px;
		color: $mainBlue;
		font-size: 12px;
	}

	.sign_icons img {
		width: 21px;
		height: 23px;
		margin-right: 2px;
	}

	.item_header {
		padding: 5px 10px;
		background-color: #f5f5f5;

		&>div p {
			color: #666666;
			font-size: 12px;
			padding-left: 20px;
		}
	}

	.title {
		font-size: 16px;
		line-height: 23px;
		padding-bottom: 15px;
	}

	.meal,
	.device {
		font-size: 12px;
		color: #999999;
		line-height: 23px;
	}

	.item_row p {
		line-height: 23px;
	}

	.item_row div {
		line-height: 20px;
	}
</style>